package io.zhifei.modules.sys.system.controller;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.zhifei.common.utils.ApiResponse;
import io.zhifei.modules.sys.system.entity.MacEntity;
import io.zhifei.modules.sys.system.service.MacService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.Map;

/**
 * <p> mac地址管理 </p>
 *
 * @author： WangPeng <br/>
 * @date： 2020/10/10 14:30 <br/>
 * @version： <br/>
 */
@RestController
@RequestMapping("/sys/mac")
@Api(description = ("MAC地址管理"))
public class MacController extends AbstractController {

    @Autowired
    private MacService macService;

    /**
     * 所有MAC列表
     */
    @GetMapping("/list")
//    @RequiresPermissions("sys:mac:list")
    @ApiOperation("MAC列表")
    public ApiResponse<Object> list(@RequestParam(required = false) String keyWord,
                                    @RequestParam Integer page,
                                    @RequestParam Integer pageSize) {
        return new ApiResponse<>(macService.queryPage(keyWord,page,pageSize));
    }

    /**
     * 新增mac地址
     */
    @PostMapping("/save")
//    @RequiresPermissions("sys:mac:save")
    @ApiOperation("新增mac地址")
    public ApiResponse<Object> save(MacEntity macEntity) {
        try {
            macService.insert(macEntity);
            return new ApiResponse<>("200", "新增成功！");
        } catch (Exception e) {
            logger.error(e.getMessage());
            return new ApiResponse<>("500", "新增失败！");
        }

    }

    /**
     * 修改mac地址
     */
    @PostMapping("/update")
//    @RequiresPermissions("sys:mac:update")
    @ApiOperation("修改mac地址")
    public ApiResponse<Object> update(@RequestBody MacEntity macEntity) {
        try {
            macEntity.setFlag("1");
            macService.update(macEntity);
            return new ApiResponse<>("200", "修改成功！");
        } catch (Exception e) {
            logger.error(e.getMessage());
            return new ApiResponse<>("500", "修改失败！");
        }
    }
}
